package com.sumainfor.pc.market.dao;

import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 功能描述:
 * 盈利预测
 *
 * @Auther: zhlu
 * @Date: 2018/11/24 16:38
 * @Description:
 */
@Mapper
public interface ProfitMapper {

    /**
     * 功能描述:
     * 新增盈利预测主表
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/11/24 16:39
     */
    Integer AddProfit(Map<String, Object> params);

    /**
     * 功能描述:
     * 新增盈利预测详表
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/11/24 16:39
     */
    Integer AddProfitInfo(Map<String, Object> params);

    /**
     * 功能描述:
     * 新增盈利预测招租推广费用
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/11/24 16:39
     */
    Integer AddProfitLet(Map<String, Object> params);

    /**
     * 功能描述:
     * 新增盈利预测计算结果列表
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/11/24 16:39
     */
    Integer AddProfitCal(Map<String, Object> params);

    /**
     * 功能描述:
     * 新增盈利预测计算结果列表详情
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/11/24 16:39
     */
    Integer AddProfitCalInfo(Map<String, Object> params);

    /**
     * 功能描述:
     * 新增盈利预测-每年收房方式成本
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/11/24 16:39
     */
    Integer AddProfitCalHou(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据类型获取盈利预测列表。ProState 状态   1草稿  2待审核
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/2 14:05
     */
    List<Map<String, Object>> ProfitList(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据类型获取盈利预测列表总数。ProState 状态   1草稿  2待审核
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/2 14:07
     */
    Integer ProfitListCount(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据编号获取盈利预测表
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/3 14:43
     */
    Map<String, Object> getProfitMap(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据编号获取盈利预测招租推广费用
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/3 14:48
     */
    List<Map<String, Object>> getProfitLetList(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据编号获取盈利预测计算结果列表
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/3 14:51
     */
    List<Map<String, Object>> getProfitCalList(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据编号获取盈利预测-计算结果
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/3 14:55
     */
    List<Map<String, Object>> getProfitCalInfo(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据编号获取盈利预测-计算结果
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/3 14:58
     */
    List<Map<String, Object>> getProfitHou(Map<String, Object> params);

    /**
     * 功能描述:
     * 修改盈利预测主表
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/6 10:26
     */
    Integer updateProfit(Map<String, Object> params);

    /**
     * 功能描述:
     * 修改盈利预测详表
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/8 15:36
     */
    Integer updateProfitInfo(Map<String, Object> params);


    /**
     * 功能描述:
     * 修改盈利预测招租推广费用
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/8 15:37
     */
    Integer updateProfitLet(Map<String, Object> params);

    /**
     * 功能描述:
     * 修改盈利预测计算结果列表
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/8 15:37
     */
    Integer updateProfitCal(Map<String, Object> params);

    /**
     * 功能描述:
     * 修改盈利预测-计算结果
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/8 15:37
     */
    Integer updateProfitCalInfo(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据盈利预测编号删除盈利预测-每年收房方式成本
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/2/18 21:27
     */
    void delProfitCalInfo(Map<String, Object> params);

    /**
     * 功能描述:
     * 修改盈利预测-每年收房方式成本
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/8 15:37
     */
    Integer updateProfitHou(Map<String, Object> params);


    /**
     * 功能描述:
     * 盈利预测待收录房源列表
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/11 16:06
     */
    List<Map<String, Object>> getProfitHouList(Map<String, Object> params);




    /**
     * 楼宇号
     * @author zhoucong
     * @data 2019/8/21
     * @Param
     * @return
     */
    List<Map<String,Object>> getOwBuilDing(Map<String,Object> params);

    /**
     * 室号
     * @author zhoucong
     * @data 2019/8/21
     * @Param
     * @return
     */
    List<Map<String,Object>> getOwRoom(Map<String,Object> params);


    /**
     * 功能描述:
     * 盈利预测待收录房源列表总数
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2018/12/11 16:12
     */
    Integer getProfitHouListCount(Map<String, Object> params);


    /**
     * 功能描述:
     * 根据当前收房专员编号获取个人收房走向
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/15 13:56
     */
    List<Map<String, Object>> getHouseInfoList(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据当前收房专员编号获取个人收房走向总数
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/15 14:00
     */
    Integer getHouseInfoListCount(Map<String, Object> params);

    /**
     * 功能描述:
     * 获取市场部经理的房源信息
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/16 20:06
     */
    Map<String, Object> getMatketHousing();

    /**
     * 功能描述:
     * 服务中心经理待审核定价
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/18 14:41
     */
    Integer getMarketSerPricing();

    /**
     * 功能描述:
     * 服务中心经理需定价房源
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/18 14:56
     */
    Integer getMarketSerNotPricing();



    /**
     * zc
     * 修改
     * 功能描述:
     * 服务中心经理需定价房源
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/18 14:56
     */
    List<Map<String,Object>> getMarketSerNotPricNum(Map<String,Object> params);



    /**
     * 功能描述:
     * 服务中心经理中心房源情况
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/18 15:31
     */
    Map<String, Object> getMarketSerCenter(Map<String, Object> params);

    /**
     * 功能描述:
     * 各人员的成交
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/18 17:06
     */
    List<Map<String, Object>> getMarketUserClinch();

    /**
     * 功能描述:
     * 各人员的带看
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/18 17:07
     */
    List<Map<String, Object>> getMarketUserTakeAlook();

    /**
     * 功能描述:
     * 获取当前项目下的所有楼号，分组
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/25 11:52
     */
    List<Map<String, Object>> getHousingProBuilDingList(Map<String, Object> params);

    /**
     * 功能描述:
     * 获取当前项目楼号下的室号，分组
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/25 12:02
     */
    List<Map<String, Object>> getHousingProRoomList(Map<String, Object> params);

    /**
     * 功能描述:
     * 获取当前项目-楼号-室号下的区域，分组
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/25 14:05
     */
    List<Map<String, Object>> getHousingConList(Map<String, Object> params);

    /**
     * 功能描述:
     * 收房专员发起盈利预测，添加盈利预测审核记录
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/5/29 10:03
     */
    Integer AddProfitCheck(Map<String, Object> params);

    /**
     * 功能描述:
     * 市场部经理审核盈利预测，修改盈利预测审核记录
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/5/29 10:04
     */
    Integer UpdateProfitCheck(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据盈利预测编号获取当前盈利预测的审批历史
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/5/29 14:42
     */
    List<Map<String, Object>> getProfitCheckList(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据盈利预测编号获取当前盈利预测的审批历史总数
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/5/29 14:43
     */
    Integer getProfitCheckListCount(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据项目编号集合获取盈利预测所有楼号
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/6/20 19:32
     */
    List<Map<String, Object>> getComIdByProBuiList(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据项目编号集合获取盈利预测所有楼号
     * 根据楼号编号获取当前楼号编号的房源主编号
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/6/20 20:21
     */
    List<String> getComIdByProBuiLists(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据项目编号集合和楼号集合获取盈利预测所有室号
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/6/20 19:32
     */
    List<Map<String, Object>> getComIdAndBuiProRoomList(Map<String, Object> params);


    /**
     * 查询房源项目  和 分割间数
     *
     * @param profitId
     * @return
     */
    Map<String, Object> getProfitDataMap(String profitId);
}
